1. Field of the Invention
The present invention relates data storage using LBP. In particular, the present invention relates to implementing CRC data storage techniques across many different devices.
2. Description of the Related Art
Detecting errors in data as a result of transmission, data operators, and other functions has been done with logical block detection (LBP), the technique of adding a 32-bit cyclic redundancy check (CRC) checksum to tape records, is an old technique. IBM Corporation has used this method invisibly on their a linear-tape-open (LTO) drives for years to ensure data integrity, adding the CRC to the data record before writing it to tape, then checking and stripping the CRC before returning it to the application on readback.
IBM has more recently publicized this method through a change to the T10 SCSI specification, which allows the tape drive to make the CRC visible to the application. The application now adds the CRC to the record using the IBM rules, the drive verifies it before writing it to tape, verifies it on read back, and supplies it to the application for verification after receipt. This provides “End-To-End” protection of the data from its origin before transmission. The details of computing and formatting the CRC checksum are published as part of the specification so that the application can create a CRC that the drive can verify.
The IBM implementation of LBP creates a tape interchange problem for data centers that utilize different tape devices. If a data manager adds a 32-bit CRC to its records and writes them on an old IBM drive, that drive will automatically append an additional 32-bit CRC before writing it to tape. If that tape is then placed in a new drive with the LBP feature turned on, the new drive will supply both CRC values, which is not the record that was written to tape.
Similarly, if the record with CRC is written to the new drive with LBP enabled, the record will be written to tape exactly as delivered. If it is then placed in an old drive and read, the CRC will be stripped and will not be delivered to the application. This, again, is not what was written to the tape. Other non-IBM drives (e.g. the STK T10KC) implement LBP in ways that do not create this tape interchange problem, which complicates matters. What is needed is a method for storing data to tape devices that accounts for different LBP and CRC functionality that each drive exhibits.